package com.ruoyi.project.cardbox.inbound.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.project.cardbox.inbound.domain.OrderInbound;
import com.ruoyi.project.cardbox.orders.domain.Orders;

/**
 * 入库单Service接口
 * 
 * @author ruoyi
 * @date 2025-07-04
 */
public interface IOrderInboundService extends IService<OrderInbound>
{
    /**
     * 查询入库单
     * 
     * @param id 入库单主键
     * @return 入库单
     */
    public OrderInbound selectOrderInboundById(Long id);

    /**
     * 查询入库单列表
     * 
     * @param orderInbound 入库单
     * @return 入库单集合
     */
    public List<OrderInbound> selectOrderInboundList(OrderInbound orderInbound);

    /**
     * 新增入库单
     * 
     * @param orderInbound 入库单
     * @return 结果
     */
    public int insertOrderInbound(OrderInbound orderInbound);

    /**
     * 修改入库单
     * 
     * @param orderInbound 入库单
     * @return 结果
     */
    public int updateOrderInbound(OrderInbound orderInbound);

    /**
     * 批量删除入库单
     * 
     * @param ids 需要删除的入库单主键集合
     * @return 结果
     */
    public int deleteOrderInboundByIds(String ids);

    /**
     * 删除入库单信息
     * 
     * @param id 入库单主键
     * @return 结果
     */
    public int deleteOrderInboundById(Long id);

    void createInboundReceipt(Orders order);

    List<OrderInbound> selectOrderInboundByIds(List<String> ids);
}
